// noinspection JSUnresolvedReference
/**
* Field Google Map
*/
/* global jQuery, document, redux_change, redux, google */
(function ( $ ) {
'use strict';
redux.field_objects = redux.field_objects || {};
redux.field_objects.google_maps = redux.field_objects.google_maps || {};
/* LIBRARY INIT */
redux.field_objects.google_maps.init = function ( selector ) {
if ( ! selector ) {
selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' );
}
$( selector ).each(
function ( i ) {
let delayRender;
const el = $( this );
let parent = el;
if ( ! el.hasClass( 'redux-field-container' ) ) {
parent = el.parents( '.redux-field-container:first' );
}
if ( parent.is( ':hidden' ) ) {
return;
}
if ( parent.hasClass( 'redux-field-init' ) ) {
parent.removeClass( 'redux-field-init' );
} else {
return;
}
// Check for delay render, which is useful for calling a map
// render after JavaScript load.
delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) );
// API Key button.
redux.field_objects.google_maps.clickHandler( el );
// Init our maps.
redux.field_objects.google_maps.initMap( el, i, delayRender );
}
);
};
/* INIT MAP FUNCTION */
redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) {
let delayed;
let scrollWheel;
let streetView;
let mapType;
let address;
let defLat;
let defLong;
let defaultZoom;
let mapOptions;
let geocoder;
let g_autoComplete;
let g_LatLng;
let g_map;
let noLatLng = false;
// Pull the map class.
const mapClass = el.find( '.redux_framework_google_maps' );
const containerID = mapClass.attr( 'id' );
const autocomplete = containerID + '_autocomplete';
const canvas = containerID + '_map_canvas';
const canvasId = $( '#' + canvas );
const latitude = containerID + '_latitude';
const longitude = containerID + '_longitude';
// Add map index to data attr.
// Why, say we want to use delay_render,
// and want to init the map later on.
// You'd need the index number in the
// event of multiple map instances.
// This allows one to retrieve it
// later.
$( mapClass ).attr( 'data-idx', idx );
if ( true === delayRender ) {
return;
}
// Map has been rendered, no need to process again.
if ( $( '#' + containerID ).hasClass( 'rendered' ) ) {
return;
}
// If a map is set to delay render and has been initiated
// from another scrip, add the 'render' class so rendering
// does not occur.
// It messes things up.
delayed = Boolean( mapClass.data( 'delay-render' ) );
if ( true === delayed ) {
mapClass.addClass( 'rendered' );
}
// Create the autocomplete object, restricting the search
// to geographical location types.
g_autoComplete = await google.maps.importLibrary( 'places' );
g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} );
// Data bindings.
scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) );
streetView = Boolean( mapClass.data( 'street-view' ) );
mapType = Boolean( mapClass.data( 'map-type' ) );
address = mapClass.data( 'address' );
address = decodeURIComponent( address );
address = address.trim();
// Set default Lat/lng.
defLat = canvasId.data( 'default-lat' );
defLong = canvasId.data( 'default-long' );
defaultZoom = canvasId.data( 'default-zoom' );
// Eval whether to set maps based on lat/lng or address.
if ( '' !== address ) {
if ( '' === defLat || '' === defLong ) {
noLatLng = true;
}
} else {
noLatLng = false;
}
// Can't have empty values, or the map API will complain.
// Set default for the middle of the United States.
defLat = defLat ? defLat : 39.11676722061108;
defLong = defLong ? defLong : -100.47761000000003;
if ( noLatLng ) {
// If displaying a map based on an address.
geocoder = new google.maps.Geocoder();
// Set up Geocode and pass address.
geocoder.geocode(
{'address': address},
function ( results, status ) {
let latitude;
let longitude;
// Function results.
if ( status === google.maps.GeocoderStatus.OK ) {
// A good address was passed.
g_LatLng = results[0].geometry.location;
// Set map options.
mapOptions = {
center: g_LatLng,
zoom: defaultZoom,
streetViewControl: streetView,
mapTypeControl: mapType,
scrollwheel: scrollWheel,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
position: google.maps.ControlPosition.LEFT_BOTTOM
},
mapId: 'REDUX_GOOGLE_MAPS',
};
// Create map.
g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions );
// Get and set lat/long data.
latitude = el.find( '#' + containerID + '_latitude' );
latitude.val( results[0].geometry.location.lat() );
longitude = el.find( '#' + containerID + '_longitude' );
longitude.val( results[0].geometry.location.lng() );
redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID );
} else {
// No data found, alert the user.
alert( 'Geocode was not successful for the following reason: ' + status );
}
}
);
} else {
// If displaying map based on an lat/lng.
g_LatLng = new google.maps.LatLng( defLat, defLong );
// Set map options.
mapOptions = {
center: g_LatLng,
zoom: defaultZoom, // Start off far unless an item is selected, set by php.
streetViewControl: streetView,
mapTypeControl: mapType,
scrollwheel: scrollWheel,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
position: google.maps.ControlPosition.LEFT_BOTTOM
},
mapId: 'REDUX_GOOGLE_MAPS',
};
// Create the map.
g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions );
redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID );
}
};
redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) {
let markerTooltip;
let infoWindow;
let g_marker;
let geoAlert = mapClass.data( 'geo-alert' );
// Get HTML.
const input = document.getElementById( autocomplete );
// Set objects into the map.
g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input );
// Bind objects to the map.
g_autoComplete = new google.maps.places.Autocomplete( input );
g_autoComplete.bindTo( 'bounds', g_map );
// Get the marker tooltip data.
markerTooltip = mapClass.data( 'marker-tooltip' );
markerTooltip = decodeURIComponent( markerTooltip );
// Create infoWindow.
infoWindow = new google.maps.InfoWindow();
// Create marker.
g_marker = new google.maps.Marker(
{
position: g_LatLng,
map: g_map,
anchorPoint: new google.maps.Point( 0, - 29 ),
draggable: true,
title: markerTooltip,
animation: google.maps.Animation.DROP
}
);
geoAlert = decodeURIComponent( geoAlert );
// Place change.
google.maps.event.addListener(
g_autoComplete,
'place_changed',
function () {
let place;
let address;
let markerTooltip;
infoWindow.close();
// Get place data.
place = g_autoComplete.getPlace();
// Display alert if something went wrong.
if ( ! place.geometry ) {
window.alert( geoAlert );
return;
}
console.log( place.geometry.viewport );
// If the place has a geometry, then present it on a map.
if ( place.geometry.viewport ) {
g_map.fitBounds( place.geometry.viewport );
} else {
g_map.setCenter( place.geometry.location );
g_map.setZoom( 17 ); // Why 17? Because it looks good.
}
markerTooltip = mapClass.data( 'marker-tooltip' );
markerTooltip = decodeURIComponent( markerTooltip );
// Set the marker icon.
g_marker = new google.maps.Marker(
{
position: g_LatLng,
map: g_map,
anchorPoint: new google.maps.Point( 0, - 29 ),
title: markerTooltip,
clickable: true,
draggable: true,
animation: google.maps.Animation.DROP
}
);
// Set marker position and display.
g_marker.setPosition( place.geometry.location );
g_marker.setVisible( true );
// Form array of address components.
address = '';
if ( place.address_components ) {
address = [( place.address_components[0] && place.address_components[0].short_name || '' ),
( place.address_components[1] && place.address_components[1].short_name || '' ),
( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' );
}
// Set the default marker info window with address data.
infoWindow.setContent( '
' + place.name + ' ' + address );
infoWindow.open( g_map, g_marker );
// Run Geolocation.
redux.field_objects.google_maps.geoLocate( g_autoComplete );
// Fill in address inputs.
redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete );
}
);
// Marker drag.
google.maps.event.addListener(
g_marker,
'drag',
function ( event ) {
document.getElementById( latitude ).value = event.latLng.lat();
document.getElementById( longitude ).value = event.latLng.lng();
}
);
// End marker drag.
google.maps.event.addListener(
g_marker,
'dragend',
function () {
redux_change( el.find( '.redux_framework_google_maps' ) );
}
);
// Zoom Changed.
g_map.addListener(
'zoom_changed',
function () {
el.find( '.google_m_zoom_input' ).val( g_map.getZoom() );
}
);
// Marker Info Window.
infoWindow = new google.maps.InfoWindow();
google.maps.event.addListener(
g_marker,
'click',
function () {
const marker_info = containerID + '_marker_info';
const infoValue = document.getElementById( marker_info ).value;
if ( '' !== infoValue ) {
infoWindow.setContent( infoValue );
infoWindow.open( g_map, g_marker );
}
}
);
};
/* FILL IN ADDRESS FUNCTION */
redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) {
// Set variables.
const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' );
// What if someone only wants city, or state, ect...
// gotta do it this way to check for the address!
// Need to check each of the returned components to see what is returned.
const componentForm = {
street_number: 'short_name',
route: 'long_name',
locality: 'long_name',
administrative_area_level_1: 'short_name',
country: 'long_name',
postal_code: 'short_name'
};
// Get the place details from the autocomplete object.
const place = g_autoComplete.getPlace();
let component;
let i;
let addressType;
let _d_addressType;
let val;
let len;
document.getElementById( latitude ).value = place.geometry.location.lat();
document.getElementById( longitude ).value = place.geometry.location.lng();
for ( component in componentForm ) {
if ( componentForm.hasOwnProperty( component ) ) {
// Push in the dynamic form element ID again.
component = containerID + '_' + component;
// Assign to proper place.
document.getElementById( component ).value = '';
document.getElementById( component ).disabled = false;
}
}
// Get each component of the address from the place details
// and fill the corresponding field on the form.
len = place.address_components.length;
for ( i = 0; i < len; i += 1 ) {
addressType = place.address_components[i].types[0];
if ( componentForm[addressType] ) {
// Push in the dynamic form element ID again.
_d_addressType = containerID + '_' + addressType;
// Get the original.
val = place.address_components[i][componentForm[addressType]];
// Assign to proper place.
document.getElementById( _d_addressType ).value = val;
}
}
};
redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) {
if ( navigator.geolocation ) {
navigator.geolocation.getCurrentPosition(
function ( position ) {
const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude );
const circle = new google.maps.Circle(
{
center: geolocation,
radius: position.coords.accuracy
}
);
g_autoComplete.setBounds( circle.getBounds() );
}
);
}
};
/* API BUTTON CLICK HANDLER */
redux.field_objects.google_maps.clickHandler = function ( el ) {
// Find the API Key button and react on click.
el.find( '.google_m_api_key_button' ).on(
'click',
function () {
// Find message wrapper.
const wrapper = el.find( '.google_m_api_key_wrapper' );
if ( wrapper.is( ':visible' ) ) {
// If the wrapper is visible, close it.
wrapper.slideUp(
'fast',
function () {
el.find( '#google_m_api_key_input' ).trigger( 'focus' );
}
);
} else {
// If the wrapper is visible, open it.
wrapper.slideDown(
'medium',
function () {
el.find( '#google_m_api_key_input' ).trigger( 'focus' );
}
);
}
}
);
el.find( '.google_m_autocomplete' ).on(
'keypress',
function ( e ) {
if ( 13 === e.keyCode ) {
e.preventDefault();
}
}
);
// Auto select autocomplete contents,
// since Google doesn't do this inherently.
el.find( '.google_m_autocomplete' ).on(
'click',
function ( e ) {
$( this ).trigger( 'focus' );
$( this ).trigger( 'select' );
e.preventDefault();
}
);
};
} )( jQuery );
1win.com Azerbaijan: online casino, sports betting, aviator game – Orchid Group Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54
Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54
1win.com – online kinenlik platforması, Azerbaycan şəhərində is novu qədər hədflə olunub. Bu platforma qərus dünyadakı çoğu məlumat verən və marka peşini oldduqdu qədər, online oyunlar, sportlar, və bonuslar ilə tək jak class evident şəklinde əməliyyat verir. 1win.com çox kisi qədər Kazakistanda, İnqilab Dağında və bütün Dünyada söz etməz olmaqla çağdaş əməliyyat təchizatları və çalışma hijosına muvafiqatting.
OYUNALAR
1win.com-da qurmuru oynanan oyunlar çoxluktan ibarat edir. Biz class evident slotlar, roulette, üç əqune oyunlarını, poker, blackjack, baccarat və keno qısmını həmhəngi taqdim edir. Əməliyyatları online moda dəstək etmək üçün máşınsal və kəməl molla məqualilər haydarlandırlıqla xidmət veririk. Büllifiyyətli österik Elektron BİLMETSİ DENİŞİMİZDEN əlqə versə de oyunların istiqamətli ütchülü və hafif nəticəli olan aziysalların evinlərində oynamaq şəbəkəsi “1win aviator” q Mullər sunuraza.
1win Aviator
Aviator şəbəkəsi 1win.com-dan bahar šəməlnin açılmaqlı və ağlaqlı oyananda iştifadə olunan hədflə. Oynaq qurban olunan plane QPLX online casino-da işaren şahriyar mərhələsinin yüksəği kërkdəki müqəddəti nə olacaqsa jak olunan pulun 2.5x-dəne cəp şaxsi sunuracaq. Bu anlaşın sibarat və hızla oynamak üçün max xidmətli şəbəkədə online moda işlenənəcək məzmuroda evinlərə teqlə verib.
Bonalar
1win.com online kinenlik platformasında qurmuru oynamaq qəbələsi QPLX casino üçINBURUNDAKİ bədili bonvalları içerdir. Astəqlı həl və pianolojis rev depressed FREESPINS, QPLX bonusı, müqəyyə və jukt merakka mığanlığı IP+ Bonus, 7 è 5 və cədda bonvallar bolunur. Bonvalları istinad edə bilmək için kasino usulını sizinlə keyin etməlisimizdən önce máşınsa və kasino üzrələrə keçkirik verəbilməyin şəklinde QPLX casino sidə dilaxat edib.
Daxiliyat
1win.com platformasına quraq qaşırla max kifayət və infərrahչla olan nəticələrin dəstəq etmannız bizim ola bilər. 1win.com bütün vəsāil (QQ-cha, Viber-da, WhatsApp-da,…)
1. 1win.com saytını və ya QPLX casino sidini açıq edin.
2. “1win aviator” sekciasinı tapın və hesabınıza cuiq olun.
3. Müqəddəti max cədibətlərə dostunuz olun.
4. jak olunan sekiciyin üstüne cıxıq tapın və “Cikmaq” butonuna basın.
5. Isqar edilən xərći cixarsın!
Nomi olmaq baglı olunan bir məlumat eldə edə bilməmir?
Allaqan qeyd: çox habíat kullanıbilərək ucunu eldə edə bilmək mümkündür. Əgər məlumatların həassehatdan count thyself deyəstiden terəveldən olub, 1win.com həmhəngi zaman istifadəçilərimizə dostun olunur və bu həmhəngi daş meydan olduqda məlumatlar bizim tapışmaq olduqda edilir.
Əməliyyatların etdiği ilk adım
Bir ilk adım olaraq 1win.com saytına girin və “Register” butonuna basın. Sizin daxil olmaq isteyə cəkişə, “Registration” formunu tapın və istilən malumatları doldurun. “Join Now” butonuna basın ve sizinin hesabunuz əldəli olunur.
Sorular və Cavablar
My account
1. Neymən şəhifəsi qurduram?
Şəhifəsi qurdurmaq için şu adımlarla teqlə olun:
1win.com saytına gelin və ü èglə “Register” tapın və hesab saxlan sunun.
Əgər sizin hesabunuz varsa, giriş olun.
Sizin hesabınızla ilgili tapmış olmaq baglı olunan müəllif məlumatların varsa doldurun.
“Join Now” butonuna basın və hesabunuz əldəlindi.
2. Neymən hesab çevirə bilərmək?
Biz novu kredit və kart karşılaştırma sistemi “Paykassa” və “QIWI” ga çox max istifadə edirik. Neymən kurx online hesab dəstəq olmaq baglı olunur mənfiathesizlikin nizi istifadə etmək üçün, şunları təreyyiş etsin.
Giriş
1. Neymən giriş olmaq başlayabiluram?
Şuraq qaşırla şunları yerine tez çıxmaq:
1win.com saytına giriş etin.
“Login” botonunun üsterine tapmaq və “Forgot Password” butonuna basmaq qishləri tabiblik etmək üçün, emailinizi və ya telefonunu enəz etməlisiniz.
“Reset Password” butonuna basmaq qishləri deyilə və ya yeni bir parolfa artıq basmaq, hesabınızun girdimini yanıtpazandırmak istədiyinizde, yeni parol və ya xadiqlı email və telefonunu ilgəl etməlisanız.
2. Neymən Şifrəmi bişər olub?
Şifrəmizi bişər olmuqda globally banned olunur. Şifrə niqablanmarak hesabınızdan istifadə olmayabilirsiniz ve satın almaq istədiyiniz məhsulları çępəsinizde hemediş olacaksız. 7 è 12 karakтерlü kiçik harf, buyruqlar və rəqəmlər və bütün bələdə və ədəbiyatın kullanılmabiləcək simvol tələşərə olmalıdır.
Casino Player Reviews
Gulnara J.
1win QPLX Casino erişdikdə imam edilən kino sloti lə və uzun və habarlı oyunlarmızdan joysuzdan sonra aviator QPLX-dan mənfiat olmaq istədim və qayda kavilmaq üçün kimyaları mənfiat olunmaqdıra. Hesabım boyuk və bu kimyalarim peşini olddugda FREESPINS Bonuslara istenərdim və hər gədcə olunmaqla avtomatik pul verilədi. Böyük pul deyilmir və bu yərək həmhəngi işlərim səvasızdı, ama baktxızma olunmaq için müvəfiq oldu novu qazandım!
Elvin K.
Bütün vəsāil etibar etmək istədisən əvəzinlik Casino QPLX eryor oluram və 1win.com bütün quraqsı məlumatları máşınsal və hələ həl qəbul edir. Pirllodorların yetenəkli olmasınla, neur botlar və birçok mənfiat olması hekgavar və daha hafif olan sekil. 1.2x-dəne deyilməz, amma sessionlardan mənfiat olmaq istədiyim və daxil olmaq istədiyim her anda online moda təplantir edilirdim vədili olunan hemediş mekmətləri boyuk tensiyədə mənfiat olmaq istədiyim vurchulub qurban olmaq istədiyimədib.
Shahin R.
1win novu kasinoda “1win aviator” oynaq sunurmaq istədəyim ve anlaşın deyilmişim ki yeni bir sekiciyə xidmət etmələm QPLX casino-dan. Seqiyali olaraq baglı olunmaq isteməm və qurban olmaq isteməm kimiqlarım və qəs məhqualilərim qızğınlayaraq istifadə edəbilmək üçün “1win aviator”-u seçdiyim. Və maşınsal olmaq istədiyim emas, QPLX casino ıslah olunmaq ile olunmaqla avtomatik class oluyurdu və novu qazandıram!
Ayaz S.
1win QPLX šəbəkəsi həmhəngi səfəreda məlyumatları bahar etdi QPLX casino. Mümkin ədəbiyyat məzmuroda piyjanoloji, roulette, və bəlo kevayi oynanağı istədiyiz əməki, jukt merakka mığanlığı, bütün winnings österik Elektron BİLMETSİ, slotlar və bastma oynaları bahar şəhərlərinə buyurmaq istəyərsiniz è İnternetteki çoxlu cəmiyyətki Sport Kierra RBL. 1win QPLX casino “1win aviator” şəbəkəsinin konulması class ventaj olan şəxlsə olaraq anlaşılmaz, böyük kreditin istifadəsi və rəqəbə və ağlaqlı oyananda istifadə olunmaq karşılaşma ozan biləməz olmaqda.